package com.cachopoid.utils;

import java.util.ArrayList;

import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;

import com.cachopoid.R;
import com.cachopoid.vo.CachopoVO;
import com.cachopoid.vo.EstablecimientoVO;

public class ListaExpandableCachoposBaseAdapter extends BaseExpandableListAdapter  {
	 
	private static ArrayList<EstablecimientoVO> establecimientoArrayList; 
	private LayoutInflater l_Inflater;
	Typeface font;
	Context contextGlobal=null;
	//private String[] groups = { "Parent1", "Parent2","Parent3" };
    private String[][] children = { { "Child1" },{ "Child2" }, { "Child3" },{ "Child4" }, { "Child5" } };
	 
	public ListaExpandableCachoposBaseAdapter(Context context, EstablecimientoVO establecimiento) {
		
	  establecimientoArrayList= new ArrayList<EstablecimientoVO>();
	  establecimientoArrayList.add(establecimiento);
	  l_Inflater = LayoutInflater.from(context);
	  contextGlobal=context;
	  font = Typeface.createFromAsset(context.getAssets(), "fuente_celta.ttf");
	}
	
	public ListaExpandableCachoposBaseAdapter(Context context) {
		contextGlobal=context;
	}
	 
	public int getCount() {
	  //return EstablecimientoArrayList.size();
		return 1;
	
	}
	 
	public Object getItem(int position) {
	  return establecimientoArrayList.get(position);
	}
	 
	public long getItemId(int position) {
	  return position;
	}
	 

	@Override
	public Object getChild(int groupPosition, int childPosition) {
		return (EstablecimientoVO)establecimientoArrayList.get(groupPosition);
	}

	@Override
	public long getChildId(int groupPosition, int childPosition) {
		return childPosition;
	}

	@Override
	public View getChildView(int groupPosition, int childPosition,
			boolean isLastChild, View convertView, ViewGroup parent) {
		final EstablecimientoVO establecimiento = (EstablecimientoVO) getChild(groupPosition, childPosition);
	//	 font = Typeface.createFromAsset(parent.getContext().getAssets(), "fuente_celta.ttf");
		TextView txtDireccionEstab;
		TextView txtCiudadEstab;	
		TextView tlfEstab;
		TextView longitudEstab;
		TextView latitudEstab;
		
		if (convertView == null) {
			LayoutInflater l_Inflater = (LayoutInflater) contextGlobal.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			
			convertView = l_Inflater.inflate(R.layout.template_expend_establec, null);
		
		    txtDireccionEstab = (TextView) convertView.findViewById(R.id.direccionEstablecimiento);
		    txtDireccionEstab.setText(establecimiento.getDireccion());
		    txtDireccionEstab.setTypeface(font);
		    txtCiudadEstab = (TextView) convertView.findViewById(R.id.ciudadEstablecimiento);
		    txtCiudadEstab.setText(establecimiento.getCiudad());
		    txtCiudadEstab.setTypeface(font);
		    tlfEstab  = (TextView) convertView.findViewById(R.id.tlfEstablecimiento);
		    tlfEstab.setText(establecimiento.getTelefono());
		    longitudEstab  = (TextView) convertView.findViewById(R.id.longitudEstab);
		    longitudEstab.setText(establecimiento.getLongitud());
		    latitudEstab  = (TextView) convertView.findViewById(R.id.latitudEstab);
		    latitudEstab.setText(establecimiento.getLatitud());
			
		}
		return convertView;
	}

	
	/*private boolean siHuboVotaciones(CachopoVO cachopo,CachopoVO cachopoBBDD) {
		boolean sihuboVotaciones=false;
		if(cachopo!=null && cachopoBBDD!=null){
			if(cachopoBBDD.getIdCachopo()==cachopo.getIdCachopo()){
				if( (cachopo.getTamanio()!=cachopoBBDD.getTamanio() )|| (cachopo.getRelleno()!=cachopoBBDD.getRelleno()) 
						|| (cachopo.getRebozado()!=cachopoBBDD.getRebozado()) || (cachopo.getSabor()!=cachopoBBDD.getSabor()) 
						|| (cachopo.getPrecio()!=cachopoBBDD.getPrecio())){
					sihuboVotaciones=true;
				}
			}
		}
		
		return sihuboVotaciones;
	}*/

	@Override
	public int getChildrenCount(int groupPosition) {
		
		int i = 0;
        try {
        i = children[groupPosition].length;
 
        } catch (Exception e) {
        }
        
        return i;
        
	}

	@Override
	public Object getGroup(int groupPosition) {
		EstablecimientoVO establecimientoVO= new EstablecimientoVO();
		establecimientoVO=(EstablecimientoVO) establecimientoArrayList.get(groupPosition);
		return establecimientoVO;
	}

	@Override
	public int getGroupCount() {
		//return EstablecimientoArrayList.size();
		return 1;

	}

	@Override
	public long getGroupId(int groupPosition) {
		return groupPosition;
	}

	@Override
	public View getGroupView(int groupPosition, boolean isExpanded,
			View convertView, ViewGroup parent) {
		
		EstablecimientoVO EstablecimientoVO = (EstablecimientoVO) getGroup(groupPosition);
		if (convertView == null) {
			 LayoutInflater inflater = (LayoutInflater) contextGlobal.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		     convertView = inflater.inflate(R.layout.group_item, null);
		}
		
		TextView txtNombreEstablecimiento = (TextView) convertView.findViewById(R.id.nombreEstablecimiento);
		txtNombreEstablecimiento.setText(EstablecimientoVO.getNombre());
		txtNombreEstablecimiento.setTypeface(font);         
		return convertView;
		
	}

	@Override
	public boolean hasStableIds() {
		return true;
	}



	@Override
	public boolean isChildSelectable(int groupPosition, int childPosition) {
		 return true;
	}
	

    
	
}
